package com.example.demo.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.Date;
@Data
//@EqualsAndHashCode(callSuper = false)
//implements Serializable
@TableName("do_alert")
public class DoAlertDO {

    //private static final long serialVersionUID=1L;

    /**
     * 告警ID
     */
   @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 监控类型：0 数据来源监控、1 数据接入监控、2 数据处理监控、3 数据清洗监控、4 数据分发监控、5 数据质量监控
     */
    private Integer monitorType;

    /**
     * 流程定义ID
     */
    private Integer processDefId;

    /**
     * 任务实列ID
     */
    private Integer taskInstanceId;

    /**
     * 表ID
     */
    private String tableId;

    /**
     * 告警目标对象: 监控可用性-available 指标-app.metrics.field
     */
    private String target;

    /**
     * 告警关联的告警定义ID
     */
    private Long alertDefineId;

    /**
     * 告警级别 0:高-emergency-紧急告警-红色 1:中-critical-严重告警-橙色 2:低-warning-警告告警-黄色
     */
    private Integer priority;

    /**
     * 告警通知实际内容
     */
    private String content;

    /**
     * 告警状态: 0-正常告警(待处理) 1-阈值触发但未达到告警次数 2-恢复告警 3-已处理
     */
    private Integer status;

    /**
     * 触发次数,即达到告警定义的触发阈值次数要求后才会发告警
     */
    private Integer times;

    /**
     * 首次告警触发时间(毫秒时间戳)
     */
    private Long firstTriggerTime;

    /**
     * 最近告警触发时间(毫秒时间戳)
     */
    private Long lastTriggerTime;

    /**
     * 创建者
     */
    private Long createdBy;

    /**
     * 最新修改者
     */
    private Long updateBy;

    /**
     * create time
     */
//    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
//    @TableField(fill = FieldFill.INSERT)
//    private Date createTime;
    private String createTime;

    /**
     * update time
     */
//    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
//    @TableField(fill = FieldFill.INSERT_UPDATE)
//    private Date updateTime;
    private String updateTime;

    /**
     * 工作空间ID
     */
    private Integer workspaceId;

}
